package cn.wolfcode.rbac.service;

import cn.wolfcode.rbac.domain.Role;
import cn.wolfcode.rbac.query.QueryObject;
import cn.wolfcode.rbac.util.PageResult;

import java.util.List;

/**
 * @Description TODO
 * @ClassName IRoleService
 * @Author luhui
 * @date 2020.06.13 12:47
 * @version: 1.0
 */
public interface IRoleService {

    /**
     * 根据id删除
     * @param id
     */
    void delete(Long id);

    /**
     * 根据id查询角色信息
     * @param id
     * @return
     */
    Role get(Long id);

    /**
     * 查询所有角色信息
     * @return
     */
    List<Role> listAll();

    /**
     * 保存或编辑操作
     * @param role
     */
    void saveOrUpdate(Role role,Long[] permissionIds);

    /**
     * 分页
     * @param queryObject
     * @return
     */
    PageResult query(QueryObject queryObject);
}
